#include "reg52.h"
sbit DI = P3^4;
sbit STR = P3^5;
sbit SFR = P3^6; 

void delay(int x)
{
    while(x--);
}
void main()
{
    unsigned char p;
    P0 = 0xfe;
    while (1)
    {
        int i = 0;
        p = 0x80;
        for ( i = 0; i < 8; i++)
        {
            DI = (p & 0x80)? 1 : 0;
            p <<= 1;
            SFR = 0;
            delay(5);
            SFR = 1;
            delay(5);
        }
            STR = 0;
            delay(5);
            STR = 1;
            delay(5);
    }
}